@FunctionalInterface
interface NoParameterNoReturn {
    //注意：只能有一个抽象方法
    void test();
   /* static void test2() {
    }
    default void test3() {
    }*/
}
//无返回值一个参数
@FunctionalInterface
interface OneParameterNoReturn {
    void test(int a);
}
//无返回值多个参数
@FunctionalInterface
interface MoreParameterNoReturn {
    void test(int a,double b);
}
public class Test {
    public static void main2(String[] args) {
        NoParameterNoReturn noParameterNoReturn = ()->System.out.println("hello");
        noParameterNoReturn.test();
        //参数的类型 只有一个的时候 可以省略 ，还可以省略参数的括号
        OneParameterNoReturn oneParameterNoReturn = x-> System.out.println(x+10);
        oneParameterNoReturn.test(19);
        //类型不可以单独省略，除非一起省略！
        MoreParameterNoReturn moreParameterNoReturn = (x,y)-> System.out.println(x+y);
        moreParameterNoReturn.test(10,20);
    }


    public static void main1(String[] args) {
        NoParameterNoReturn noParameterNoReturn = new NoParameterNoReturn() {
            @Override
            public void test() {
                System.out.println("hello");
            }
        };
        noParameterNoReturn.test();
    }
}
